package entidad;
import javax.jdo.annotations.IdGeneratorStrategy;
import javax.jdo.annotations.IdentityType;
import javax.jdo.annotations.PersistenceCapable;
import javax.jdo.annotations.Persistent;
import javax.jdo.annotations.PrimaryKey;
import com.google.appengine.api.datastore.Key;

import controlador.controladorJdo;

import java.io.IOException;
import java.io.Serializable;
import java.util.Date;
import java.util.List;

/*
* @author Victor Jose Betnacohurt
*
*/
@SuppressWarnings("serial")
@PersistenceCapable(identityType = IdentityType.APPLICATION, detachable = "true")
public class Comentarios implements Serializable {
	
	@PrimaryKey
    @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
	private Key idComentarios;
	
	@Persistent
	private String comentarios;
	
	@Persistent
	private String usuario;
	
	@Persistent 
	private String correoUsuario;
	
	@Persistent
	private Date fecha;
	
	@Persistent 
	private Key idProyectos;

	public Comentarios()
	{
		
	}
	
	public Comentarios(String comentarios, String usuario,
			String correoUsuario, Date fecha) {
		this.comentarios = comentarios;
		this.usuario = usuario;
		this.correoUsuario = correoUsuario;
		this.fecha = fecha;
	}

	public Key getIdComentarios() {
		return idComentarios;
	}

	public void setIdComentarios(Key idComentarios) {
		this.idComentarios = idComentarios;
	}

	public String getComentarios() {
		return comentarios;
	}

	public void setComentarios(String comentarios) {
		this.comentarios = comentarios;
	}

	public String getUsuario() {
		return usuario;
	}

	public void setUsuario(String usuario) {
		this.usuario = usuario;
	}

	public String getCorreoUsuario() {
		return correoUsuario;
	}

	public void setCorreoUsuario(String correoUsuario) {
		this.correoUsuario = correoUsuario;
	}

	public Date getFecha() {
		return fecha;
	}

	public void setFecha(Date fecha) {
		this.fecha = fecha;
	}

	public Proyectos getIdProyecto() {
		controladorJdo<Proyectos> contr = controladorJdo.getInstance(Proyectos.class);
		Proyectos proyecto = contr.findByKey(idProyectos);
		return proyecto;
	}

	public void setIdProyecto(Key idProyecto) {
		this.idProyectos = idProyecto;
	}
	
	@SuppressWarnings({ "rawtypes", "unchecked" })
	static public List<Comentarios> listaKey(Key proyecto)
	{
		controladorJdo controlador = controladorJdo.getInstance(Comentarios.class);
		List<Comentarios> lista;
		try {
			lista = controlador.findAllByParameter("idProyectos", "Key", proyecto);
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			return null;
		}
		return lista;
	}
	@Override
	public String toString() {
		return "Usuario= " + usuario + ", correoUsuario= "
				+ correoUsuario;
	}
	
			
}
